from haystack import indexes
from course import models

class CourseIndex(indexes.SearchIndex,indexes.Indexable):
    text=indexes.CharField(document=True,use_template=False)#设置全文搜索的字段  use_template=False表示不使用模板
    cname=indexes.CharField(model_attr='cname')#model_attr表示从哪个字段获取数据
    price=indexes.DecimalField(model_attr='price')
    discount=indexes.DecimalField(model_attr='discount')
    id=indexes.IntegerField(model_attr='id')
    cover=indexes.CharField(model_attr='cover')
    introduction=indexes.CharField(model_attr='introduction')

    #执行哪个mysql模型类  这个函数是必须得
    def get_model(self):
        return models.Course
    #执行哪个结果集  这个函数是必须得
    def index_queryset(self, using=None):
        return self.get_model().objects.filter(isdel=False)

    #设置text数据
    def prepare_text(self, obj):
        return obj.cname+" "+ obj.introduction#需要多少列的数据  就添加多少列